1. Field of the Invention
This invention relates to an adaptive contact list.
2. Description of the Related Art
Current computer systems generally include many communication applications and tools. Each communication application generally performs a single type of communication and a user frequently must launch each application or tool individually, even when multiple applications or tools are required for a single communication task.
According to the prior art, as illustrated in FIG. 1, the windows, dialog boxes and other interface elements of communication applications are positioned according to various OS or application centric rules. When a new application is launched, a window for that application is placed on the screen either according to an OS specific rule for how windows should be placed in general or according to an application specific location. For instance, the first time an application window is generated, the OS generally determines where to place the window based upon various cascading or tiling algorithms that frequently place a new window overlapping some if not most of an existing window. Alternatively, an application may determine where to place a window based upon the location of that window the last time that windows was closed. For example, an application may remember where a user last positioned the open window and use that position the next time it displays that window. Thus a new application window may be displayed very far away from the point where the user launched the application.
This can frequently result in a very messy and confusing desktop display where application windows overlap each other and where some windows are completely obscured by others. Additionally, the placement and position of windows and other user interface elements of applications generally does not infer any information about the relationship between different applications, even when the applications, or portions of the applications, are being used together to perform a single user task.
When a user needs to communicate with a particular person, he frequently must open several different communication applications, each of which maintains its own set of contact information. Additionally duplicate information for a single person may be maintained by more than one communication application. When contact information for such a person changes, the user generally must remember that more than one application maintains information about that person and manually update the information in each application. Furthermore, the contact lists of each communication must be searched separately and individually, since generally different communication applications cannot search each other's contact lists.
Additionally, communication applications generally have limited capabilities to sort or search through contact information. Therefore a user must frequently manually sort or search contact information in several applications to find those contacts that are desirable for any particular situation.
Different communication applications frequently present different user interfaces to the user and consequently there is no unified interface for viewing and accessing communication related information. A user generally has to learn the user interface for each communication application individually and frequently more than one user interface is required to perform communication related tasks.